<?php

class Usuarios extends Controller {
    
public function init(){
  $verificador = new LoginModel();/*Chama o modelo do login */
  $verificador->verificador();
  
}   
/*Páginia inicial*/
public function index_action(){
   $usuario = new UsuarioModel();
    $usuarios_lista = $usuario->selecionar(null, null, null, null);
    $dados["usuarios_lista"] = $usuarios_lista;
    $this->view("usuario", "lista", $dados);
}
    
/*Página do formulário de cadastro */
public function cadform(){
    
    $this->view("usuario", "formCadastro", null);
    
}


public function cadastrar(){
    $usuario = new UsuarioModel();
    $redi = new redirectorHelper();
    
    $dados = $usuario->validar_campos();
    if (count($dados) == 15){
        $usuario->cadastrar($dados);
        
        $_SESSION['tempo'] = strtotime(date("Y-m-d H:i:s"));
        $_SESSION['msg'] = "Cadastrado realizado.";
        
        
        $redi->goToController("usuarios");
        }
    else {
        $array['dados'] = $dados;
        $this->view("usuario", "formCadastro", $array);
    }
    
}
/*Atualizar */
public function editar(){
   $usuario = new UsuarioModel();
   
    
    $cpf = $this->getParam("cpf");
   
    $usuario_lista = $usuario->selecionar("CPF=\"$cpf\"", null, null, null);
    $dados["usuario_lista"] = $usuario_lista;
    $this->view("usuario", "editar", $dados);
}

public function atualizar(){
    $usuario = new UsuarioModel();
    $redi = new redirectorHelper();
    
    $cpf = $this->getParam("cpf");
    
    $dados = $usuario->validar_campos_editados();
    
    if (count($dados) == 11){
        $usuario->update("usuarios",$dados,"CPF=\"$cpf\"" );
        $_SESSION['tempo'] = strtotime(date("Y-m-d H:i:s"));
        $_SESSION['msg'] = "Registro editado.";
        $redi->goToController("usuarios");
    }
    else {
        $array['dados'] = $dados;
        $this->view("usuario", "editar", $array);
    }
    
}


/*Deletar */

public function deletar(){
 $usuario = new UsuarioModel();
 $redi = new redirectorHelper();
 
 $cpf = $this->getParam("cpf"); 
 
 
 $usuario->delete("CPF ='$cpf'");
 
    $_SESSION['tempo'] = strtotime(date("Y-m-d H:i:s"));
    $_SESSION['msg'] = "Registro deletado.";
    $redi->goToController("usuarios");
}

/*Ativa e desativa usuário a acessar o sistema. */
public function ativar(){
    $usuario = new UsuarioModel();
    $redi = new redirectorHelper();
    
    $cpf = $this->getParam("cpf");
    $dados = array ("ATIVO" => "S" );
    $usuario->update("usuarios",$dados , "CPF=\"$cpf\"");
    $redi->goToController("usuarios");
 }
 
 public function desativar(){
    $usuario = new UsuarioModel();
    $redi = new redirectorHelper();
    
    $cpf = $this->getParam("cpf");
    $dados = array ("ATIVO" => "N" );
    $usuario->update("usuarios",$dados , "CPF=\"$cpf\"");
    $redi->goToController("usuarios");
 }
 
 /* Alterar senha do usuário. */
 public function opcoes(){
     $this->view("usuario", "opcoes", null);
 }
 
 public function opcoes_senha(){
     $usuario = new UsuarioModel();
     $redi = new redirectorHelper();
     
     $dados =  $usuario->validar_alteracao();
     $senhaNova = md5($_POST["senha"]);
     
     if (count($dados) == 3){
         $usuario->alterar_senha($dados, $_SESSION["userData"]["EMAIL"], $_SESSION["userData"]["SENHA"]);
         $_SESSION["userData"]["SENHA"] = $senhaNova; /*Atualiaza a senha do usuário na session */
         unset($_POST);
         $msg["msg_lista"] = "Senha Alterada.";
         $this->view("usuario", "opcoes", $msg);
     } else if (array_key_exists("erros", $dados)) {
         
        for($i = 0; $i<count($dados); $i++){ 
        $array["dados"] = $dados["erros"];
        }
        $this->view("usuario", "opcoes", $array);
    }
 }
 /*Fim Alterar senha*/
}
?>
